/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.practica.dao;

import edu.practica.model.Usuario;
import javax.annotation.PostConstruct;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;

/**
 *
 * @author jt-jk
 */
@Stateless
public class UsuarioDAO {
    
    @PersistenceContext
    private EntityManager entityManager;

    public UsuarioDAO() {
    }
    
   
    
    public Usuario login(Usuario usuario) {
        Usuario userAux = null;
        
        try {
            TypedQuery<Usuario> query = entityManager.createQuery(
                "SELECT u FROM Usuario u WHERE u.cedula = :cedula AND u.pass = :pass", Usuario.class);
            query.setParameter("cedula", usuario.getCedula());
            query.setParameter("pass", usuario.getPass());
            userAux = query.getSingleResult();
        } catch (NoResultException e) {
            System.out.println("login: " + e.getMessage());
        }
        
        return userAux;
    }
    
    public Boolean exist(Usuario usuario) {
        Usuario userAux = null;        
        Boolean existe=false;
        try {
            TypedQuery<Usuario> query = entityManager.createQuery(
                "SELECT u FROM Usuario u WHERE u.cedula = :cedula", Usuario.class);
            query.setParameter("cedula", usuario.getCedula()); 
            userAux = query.getSingleResult();
            System.out.println("usuario existente: " + userAux.getCedula());
            if(userAux.getCedula()==null){
                existe=true;
            }
        } catch (NoResultException e) {
            System.out.println("login: " + e.getMessage());
        }
        
        return existe;
    }
    
    public EntityManager getEntityManager() {
        return entityManager;
    }

    public void setEntityManager(EntityManager entityManager) {
        this.entityManager = entityManager;
    }

    public void registrar(Usuario usuario) {
        entityManager.persist(usuario);
    }
    
    public void modificar(Usuario usuario) {
        System.out.println("UsuarioDAO.modificar:" + usuario);
        entityManager.merge(usuario);
    }
    
}
